package br.com.hs.nfe.util;

/**
 * Classe de representação da categoria de serviço.
 * @author Ranlive Hrysyk
 */
public class ServicoTO {

    private String codigo;
    private String nome;

    /**
     * Código do serviço.
     */
    public String getCodigo() {
        return codigo;
    }

    /**
     * Informar o código do serviço.
     * @param codigo Código do serviço
     */
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    /**
     * Nome/descrição do serviço.
     */
    public String getNome() {
        return nome;
    }

    /**
     * Informar o nome/descrição do serviço.
     * @param nome Nome/descrição do serviço
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        ServicoTO other = (ServicoTO) obj;
        if (codigo == null) {
            if (other.codigo != null) {
                return false;
            }
        } else if (!codigo.equals(other.codigo)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 29 * hash + (this.codigo != null ? this.codigo.hashCode() : 0);
        hash = 29 * hash + (this.nome != null ? this.nome.hashCode() : 0);
        return hash;
    }

    @Override
    public String toString() {
        return getCodigo() + " - " + getNome();
    }
}
